#pragma once
#include "Shader.h"
#include "DXUT.h"
#include "d3dx11effect.h"

class WaterShader: public Shader
{
public:
	WaterShader(void);
	virtual ~WaterShader(void);

	virtual bool Initialize(ID3D11Device*);

	void SetShaderParameters(const D3DXMATRIX&, const D3DXMATRIX&, const D3DXMATRIX&, const D3DXMATRIX&, 
		ID3D11ShaderResourceView* waterTexture, ID3D11ShaderResourceView* reflectionTexture, ID3D11ShaderResourceView* refractionTexture, 
		ID3D11ShaderResourceView* normalMap, ID3D11ShaderResourceView* dudvMap, float waterTranslation, float reflectScale, float refractScale);

	void SetShaderUseDUDVMap(bool);
	void SetShaderRefractScale(float);
	void SetShaderReflectScale(float);
};

